Passage à la vision par ordinateur
Nous passons aujourd'hui du traitement de données simples et structurées à l'aide de couches linéaires basiques au défi des données d'image à haute dimension. Une seule image en couleur introduit une complexité considérable que les architectures standards ne peuvent pas gérer efficacement. L'apprentissage profond pour la vision nécessite une approche spécialisée : le réseau de neurones convolutif (CNN).
1. Pourquoi les réseaux entièrement connectés (FCN) échouent
Dans un FCN, chaque pixel d'entrée doit être connecté à chaque neurone de la couche suivante. Pour les images haute résolution, cela entraîne une explosion computationnelle, rendant l'entraînement impossible et la généralisation médiocre à cause d'un surapprentissage extrême.
- Dimension d'entrée : Une image RGB standard de $224 \times 224$ donne lieu à $150\,528$ caractéristiques d'entrée ($224 \times 224 \times 3$).
- Taille de la couche cachée : Si la première couche cachée utilise 1 024 neurones.
- Nombre total de paramètres (couche 1) : $\approx 154$ millions de poids ($150\,528 \times 1024$) uniquement pour le premier bloc de connexion, ce qui nécessite une mémoire et un temps de calcul massifs.
La solution CNN
Les CNN résolvent le problème de mise à l'échelle des FCN en exploitant la structure spatiale des images. Ils identifient des motifs (comme des bords ou des courbes) à l'aide de petits filtres, réduisant le nombre de paramètres de plusieurs ordres de grandeur et favorisant la robustesse.
TERMINALbash — model-env
> Prêt. Cliquez sur « Exécuter » pour lancer.
>
INSPECTEUR D'EFFICACITÉ DES PARAMÈTRESEn direct
Exécutez la comparaison pour visualiser le nombre de paramètres.
Question 1
Quel est le principal avantage de l'utilisation de champs réceptifs locaux dans les CNN ?
Question 2
Si un filtre $3 \times 3$ est appliqué sur toute l'image, quel concept central du CNN est mis en œuvre ?
Question 3
Quel composant du CNN est responsable de la réduction progressive des dimensions spatiales (largeur et hauteur) des cartes de caractéristiques ?
Défi : Identifier les composants clés des CNN
Reliez les mécanismes des CNN à leurs avantages fonctionnels.
Nous devons construire un modèle de vision très efficace en termes de paramètres et capable de reconnaître un objet même s'il se déplace légèrement dans l'image.
Étape 1
Quel mécanisme garantit que le réseau peut identifier une caractéristique (comme une ligne diagonale), quel que soit son emplacement dans l'image ?
Solution :
Poids partagés. En utilisant le même filtre à toutes les positions, le réseau apprend l'invariance translationnelle.
Poids partagés. En utilisant le même filtre à toutes les positions, le réseau apprend l'invariance translationnelle.
Étape 2
Quel choix architectural permet à un CNN de détecter des caractéristiques avec moins de paramètres qu’un FCN ?
Solution :
Champs réceptifs locaux (ou connectivité creuse). Au lieu de se connecter à chaque pixel, chaque neurone ne se connecte qu'à une petite région localisée de l'entrée.
Champs réceptifs locaux (ou connectivité creuse). Au lieu de se connecter à chaque pixel, chaque neurone ne se connecte qu'à une petite région localisée de l'entrée.
Étape 3
Comment la structure du CNN conduit-elle à un apprentissage hiérarchique des caractéristiques (par exemple, bords → coins → objets) ?
Solution :
Couches empilées. Les premières couches apprennent des caractéristiques simples (bords) grâce à la convolution. Les couches plus profondes combinent les sorties des couches précédentes pour former des caractéristiques complexes et abstraites (objets).
Couches empilées. Les premières couches apprennent des caractéristiques simples (bords) grâce à la convolution. Les couches plus profondes combinent les sorties des couches précédentes pour former des caractéristiques complexes et abstraites (objets).